#include "DeviceHeight.h"
#include "common.h"

using namespace std;

// DeviceHeight::DeviceHeight(const string& devicePath) 
//     : SerialPort(devicePath),deviceName(devicePath),deviceType("SerialPort")  {}

DeviceHeight::~DeviceHeight() {
    close(m_fd);
    m_fd = -1;
}

void DeviceHeight::func(float& data) {
    if (!getBuf(20000)) {
        return ;
    }

    // cout << "Inertial data:" << m_buf << endl;

    // 将高度计读取的数据转换为浮点数
    // try {
    //     // 移除单位'm'并转换
    //     string value = m_buf;
    //     size_t pos = value.find('m');
    //     if (pos != string::npos) {
    //         value = value.substr(0, pos);
    //     }
    //     data = stof(value);
    //     return;
    // } catch (const exception& e) {
    //     cerr << "DeviceHeight Conversion error: " << e.what() << endl;
    //     return ;
    // }
    sscanf(m_buf.c_str(), "%fm",&data); 

}
